home *** CD-ROM | disk | FTP | other *** search
/ Aminet 9 / Aminet 9 (1995)(GTI - Schatztruhe)[!][Dec 1995].iso / Aminet / game / think / Dragon.lha / Dragon / Dragon.doc < prev    next >
Text File  |  1995-03-09  |  9KB  |  236 lines

  1. **********************************************************************
  2. ******************************  DRAGON  ******************************
  3. **********************************************************************
  4.  
  5.                         ©1994 by Nick Christie
  6.  
  7.                      Distributed under the terms
  8.                   of the GNU General Public License.
  9.  
  10.  
  11. What's Dragon?
  12. ==============
  13.  
  14. It's a little board game I cooked up. It's not my game originally,
  15. actually, having been invented by the Chinese zillions of years ago (I
  16. think that's right). Also, there has been at least one other Amiga
  17. incarnation, though I've forgotten the name and author.
  18.  
  19. Anyway, there were problems with that version, like not multi-tasking
  20. correctly (I hate that), so I copied the rules and produced Dragon.
  21. It's not been fully "polished" up, I must admit, but I never seemed to
  22. get round to adding the final touches. You know how it is, when you
  23. get distracted by yet another cool idea that you've just got to work
  24. on... yeah, that's right, I'm lazy and undisciplined!
  25.  
  26. Enough ranting, on with the doc!
  27.  
  28.  
  29.  
  30. I bet you're going to include the boring legal bumph, right?
  31. ============================================================
  32.  
  33. Only for Americans - everybody else is more sensible about these
  34. things. :-)
  35.  
  36. This program, its source code, documentation and related files are
  37. Copyright © Nick Christie. I have placed this program under the
  38. governance of the GNU General Public License as published by the Free
  39. Software Foundation; either version 2 or (at your option) any later
  40. version. See the separate GNU License file for the details of this
  41. licensing agreement.
  42.  
  43. This program is distributed WITHOUT ANY WARRANTY; without even the
  44. implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  45. PURPOSE. See the GNU General Public License for more details.
  46.  
  47.  
  48.  
  49. OK, I'll try it. Will it run on my Amiga?
  50. =========================================
  51.  
  52. Any Amiga with OS2.04 (Kickstart V37) or better. Dragon uses one
  53. external library (in LIBS:), iffparse. This is a standard Commodore
  54. library, so you should already have it.
  55.  
  56.  
  57.  
  58. Where should I put the program?
  59. ===============================
  60.  
  61. Put "Dragon", "DragonBgnd.pic" and "DragonTiles.pic" together in any
  62. directory you like. Simple.
  63.  
  64.  
  65.  
  66. That's good, but how do I start it?
  67. ===================================
  68.  
  69. You can start it from the Shell or Workbench. It always operates on
  70. its own custom screen - lores 320 by 256 in 32 colours. Ooops. Forgot
  71. about NTSC. Sorry, USA! Hmmm, should fix that up...
  72.  
  73. There are two possible tooltypes or shell arguments:
  74.  
  75. TILES = the name of an IFF ILBM file to get the tile images from.
  76. BGND  = the name of an IFF ILBM file to get the background image from.
  77.  
  78. The background is optional, the tiles aren't. Default filenames are
  79. DragonTiles.pic and DragonBgnd.pic, which assumes these files are in
  80. the same directory as Dragon. See the section a little later on about
  81. how to supply your own images - there are some restrictions.
  82.  
  83.  
  84.  
  85. Fine, now what's the game about?
  86. ================================
  87.  
  88. Finally we get to the game itself. When you start, you'll see on
  89. screen a collection of game pieces, like Mahjong tiles, laid out in an
  90. initial configuration, with some stacked on top of others. Hope you
  91. can see the 3D effect. Each tile has a symbol on the upper side, with
  92. four tiles sharing an identical symbol.
  93.  
  94. Your aim is to remove all the tiles from the board, in pairs having
  95. the same symbol. If you can see two tiles with, for example, the alpha
  96. symbol on them, you would click on the first, and then on the second.
  97. They would then both be removed from the board, possibly exposing
  98. further tiles below them.
  99.  
  100.  
  101.  
  102. That sounds too simple, what's the catch?
  103. =========================================
  104.  
  105. Well, the catch is this: you can only remove a tile if it has no
  106. neighbours to the left or right. That's all, you ask? Well, yup, it's
  107. true that initially you will find that quite a few tiles are "mobile",
  108. and that, as you remove pairs of tiles, more tiles become available,
  109. but pretty soon you'll start to see the dependencies creep in.
  110. Eventually you'll either get stuck and lose (unable to remove any more
  111. tiles), or if you're lucky, you'll be able to remove all the tiles.
  112. Yippeee!
  113.  
  114. Now I haven't programmed in any "end game" effects - the polishing I
  115. talked about, above - but it's pretty obvious when you've won, since
  116. there'll be no tiles left. You'll just have to pat yourself on the
  117. back! As for losing, read below to find out what those numbers on the
  118. screen mean.
  119.  
  120.  
  121.  
  122. And what about those numbers on screen, eh?
  123. ===========================================
  124.  
  125. Let's start on the righthand side of the screen, where you'll see two
  126. numbers displayed. The one above tells you how many pairs of tiles are
  127. left on the board, and the one below tells you how many pairs of tiles
  128. are removeable (having no neighbouring tile to the left or the right).
  129. When the latter number drops to zero, and there are still tiles on the
  130. board, you've lost. Hard luck, hehe.
  131.  
  132. Over on the lefthand side of the screen is one further number. When
  133. you have clicked on a tile which can be removed, an image of the tile
  134. displayed here, plus a number which tells you how many pairs of tiles
  135. with that symbol are left on the board. If you think about it, this is
  136. only ever "1" or "2", since only four tiles have the same symbol. To
  137. make things really easy for you, an asterisk "*" is shown next to the
  138. number if the tile has a pair somewhere on the board that is also
  139. removeable.
  140.  
  141. Alright, that's not a brilliant description, but if I keep going I'll
  142. probably confuse myself as well! Trust me, it's not complicated, just
  143. click around the screen and you'll see. I'd better go and strike
  144. communication skills off my resume.
  145.  
  146.  
  147.  
  148. Wait a minute, can all arrangements of tiles be completed?
  149. ==========================================================
  150.  
  151. No. It's possible, for example, to end up with four tiles with the
  152. same symbol stacked on top of each other, which could never be
  153. removed. Fortunately :-), Dragon checks for this situation (and
  154. several other insoluble ones) and reshuffles the board if required.
  155. Still, I'm not guaranteeing that every board presented to you will be
  156. solvable - I just think I've eliminated all those combinations.
  157.  
  158.  
  159.  
  160. Go on, tell me about the menu items.
  161. ====================================
  162.  
  163. Ah, yes. "New Game" starts a... yeah, you guessed it. The tiles are
  164. shuffled, though, so you end up with a different arrangement.
  165. "Restart" puts all the tiles back where they were when you started the
  166. game. "Undo Move" is for when you've made a mistake and removed the
  167. wrong pair of tiles. In fact, you can undo multiple moves all the way
  168. back to the beginning (sneaky, huh?). "About" tells you who wrote the
  169. program (me!), and "Quit" shouldn't need any explanation.
  170.  
  171.  
  172.  
  173. Did you say I could use my own images?
  174. ======================================
  175.  
  176. Yup, but you have to follow these rules:
  177.  
  178. The background picture must be an IFF ILBM, 320 by 256 pixels in size,
  179. and 4 bitplanes deep (that means 16 colours). The first four colours
  180. (pens) are reserved by Dragon, though you can assume pen 0 is black.
  181. That leaves you with 12 colours to play with as you please. For the
  182. technically minded, the image is blitted into bitplanes 1 to 4 of the
  183. screen, and pens 4 to 15 in the image are copied to screen pens 20 to
  184. 31.
  185.  
  186. The tile picture is also an IFF ILBM file, 320 by 96 pixels in size,
  187. and 4 bitplanes deep (16 colours). The tiles are laid out in a
  188. particular fashion within this image. I suggest you load the supplied
  189. "Template.pic" file into your paint package, draw within the tile
  190. borders and save the image as brush 320 pixels wide, 96 pixels high.
  191. You can freely choose the colours for pens 2 to 15 for the tiles;
  192. Dragon defines pen 0 as black and pen 1 as white.
  193.  
  194.  
  195.  
  196. I can do better, where's the source code?
  197. =========================================
  198.  
  199. That's included, for SAS/C 6.51 and DevPac3. The only assembler bit is
  200. some minimal startup code which should be easily converted to other
  201. assemblers (I know, I know, shouldn't roll your own startups, but...).
  202. This requires the use of registerized parameters in the C code, and
  203. also supplies main() with the command line and length (or the
  204. WBStartup message), rather than the usual argc and argv.
  205.  
  206. Note the funny make file used by own Make utility - you should be
  207. able to convert this into the incomprehensible U*IX type quite
  208. easily, though.
  209.  
  210. And please, if you distribute modified versions, keep a log of the
  211. changes made, when, and by whom. You might even credit me as the
  212. original author. That would be polite.
  213.  
  214.  
  215.  
  216. Dragon's great! I want to send you loads of money for it.
  217. =========================================================
  218.  
  219. Hehe. I wish. You can reach me, for the moment anyway, at
  220.  
  221.  nick.christie@computing-services.oxford.ac.uk
  222.  
  223. or if your mailer spews on that one,
  224.  
  225.  nick@vax.ox.ac.uk
  226.  
  227. If you must use snail mail,
  228.  
  229.     Nick Christie
  230.     39 St Georges Drive
  231.     Bransgore
  232.     BH23 8EZ
  233.     Great Britain
  234.  
  235. Have fun!
  236.